package com.example.sunsg.okhttptest.qrcode;

import android.graphics.Bitmap;
import android.text.TextUtils;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;

public class QRCodeHelper {

	/**
	 * 生成URL二维码
	 * 
	 * @param url
	 * @param width
	 * @return
	 */
	public static Bitmap getUrlQRCode(String url, int width) {
		if (!TextUtils.isEmpty(url) || width <= 0) {
			QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(url, null, QRContents.Type.TEXT,
					BarcodeFormat.QR_CODE.toString(), width);
			return createQrCodeBitmap(qrCodeEncoder);
		}
		return null;
	}

	/**
	 * 生成URL二维码
	 * 
	 * @param url
	 * @param width
	 * @param displayColor
	 * @param backgroundColor
	 * @return
	 */
	public static Bitmap getUrlQRCode(String url, int width, int displayColor, int backgroundColor) {
		if (!TextUtils.isEmpty(url) || width <= 0) {
			QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(url, null, QRContents.Type.TEXT,
					BarcodeFormat.QR_CODE.toString(), width, displayColor, backgroundColor);
			return createQrCodeBitmap(qrCodeEncoder);
		}
		return null;
	}

	private static Bitmap createQrCodeBitmap(QRCodeEncoder qrCodeEncoder) {
		if (qrCodeEncoder != null) {
			try {
				return qrCodeEncoder.encodeAsBitmap();
			} catch (WriterException e) {
			}
		}
		return null;
	}
}
